﻿using _80X_CG_Frame.Protocols;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _80X_CG_Frame.Interfaces
{
    /// <summary>
    /// 相机算法接口(modbus)
    /// </summary>
    public interface ICameras : IAsyncClient
    {
        Result GetTaskStatus(int id);
        Result GetTaskStatus1(int id);
        Task<bool> CamConnectAsync(string address, int times = 5);
        string[] GetContourResult(string start_address, int length);
        string[] GetCircleResult(string start_address, int length);
        string[] GetBlobResult(string start_address, int length);
        string[] GetStatusBlobResult(string start_address, int length, ref Result result_status);
        string[] GetObjectResult(string start_address, int length);
        int GetBlobCountResult(string start_address, int length);
        string[] GetContourMatchResult(string start_address, int length);
        string[] GetEdgeResult(string start_address, int length);
        string[] GetSubBlobResult(string start_address, int length);
        bool SelectTask(int id, int mode);
        bool GetCameraBusyResult(int id);
    }
}
